// .txt

beginzonescript;

variables;

short crime_tolerance = 200;
short last_abil;
short i;
short rez_count = 0;

body;

beginstate INIT_STATE;

//	set_name(,"");

	add_range_to_group(16,20,1);
	set_aggression(1001,8);
	
	set_boss_level(21,2);
		
	add_range_to_group(57,64,2);
	set_level(1002,18);
	set_boss_level(64,1);
	if (gf(30,5) > 0)
		erase_char(1002);

	add_range_to_group(65,72,3);
		
	//if (get_sdf() > 0) {
		//make_zone_hostile();
		//}

	last_abil = get_current_tick();
	
	set_crime_tolerance(crime_tolerance);
	break;

beginstate EXIT_STATE;

break;

beginstate START_STATE;
	// clear zone?
	if ((zone_clear(ME) == FALSE) && (get_flag(30,10) > 0) && (get_flag(30,11) > 0) && (get_flag(30,12) > 0)) {
		print_str_color("Now that the spawners are dead, you will be able to pass",2);
		print_str_color("  this area safely.",2);
		award_party_xp(200,15);
		clear_zone(ME);	
		}
		
	//if ((get_crime_level() >= crime_tolerance) && (get_sdf(,) == 0)) {
	//	make_zone_hostile();
	//	set_flag(,,1);
	//	}

	 if (gf(30,5) == 0) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(57 + get_ran(1,0,7),"Mooooo.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(57 + get_ran(1,0,7),"Moo.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(57 + get_ran(1,0,7),"Mooo?");
		if (get_ran(1,0,100) < 2)
			give_char_text_bubble(57 + get_ran(1,0,7),"Mu.");
		}
	
	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_group()) && (tick_difference(last_abil,get_current_tick()) > 5))) {
		if (rez_count > 0)
			rez_count = rez_count - 1;
			
		if ((gf(30,10) == 0) && (rez_count == 0) && (party_dist_to_nav(0) > 8)) {
			if (char_ok(36) == FALSE) {
				spawn_creature(28);
				rez_count = 2;
				if (gf(30,4) > 25) {
					set_name(36,"Reconstituted Worm");
					set_summon_level(36,1);
					}
				}
				else if (char_ok(37) == FALSE) {
					spawn_creature(29);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(37,"Reconstituted Worm");
						set_summon_level(37,1);
						}
					}
				else if (char_ok(38) == FALSE) {
					spawn_creature(30);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(38,"Reconstituted Worm");
						set_summon_level(38,1);
						}
					}
			}
			
		if ((gf(30,11) == 0) && (rez_count == 0) && (party_dist_to_nav(1) > 8)) {
			if (char_ok(39) == FALSE) {
				spawn_creature(31);
				rez_count = 2;
				if (gf(30,4) > 25) {
					set_name(39,"Reconstituted Worm");
					set_summon_level(39,1);
					}
				}
				else if (char_ok(40) == FALSE) {
					spawn_creature(32);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(40,"Reconstituted Worm");
						set_summon_level(40,1);
						}
					}
				else if (char_ok(41) == FALSE) {
					spawn_creature(33);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(41,"Reconstituted Worm");
						set_summon_level(41,1);
						}
					}
			}
			
		if ((gf(30,12) == 0) && (rez_count == 0) && (party_dist_to_nav(2) > 8)) {
			if (char_ok(42) == FALSE) {
				spawn_creature(34);
				rez_count = 2;
				if (gf(30,4) > 25) {
					set_name(42,"Reconstituted Worm");
					set_summon_level(42,1);
					}
				}
				else if (char_ok(43) == FALSE) {
					spawn_creature(35);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(43,"Reconstituted Worm");
						set_summon_level(43,1);
						}
					}
				else if (char_ok(44) == FALSE) {
					spawn_creature(36);
					rez_count = 2;
					if (gf(30,4) > 25) {
						set_name(44,"Reconstituted Worm");
						set_summon_level(44,1);
						}
					}
			}
		
		last_abil = get_current_tick();
		}
break;

//beginstate 10;
//break;

//	print_str("");
//	set_terrain_string_range(".",3);
//	set_terrain_string_range("The sign says - .",3);
